package com.woniuxy.charin.controller;


import com.woniuxy.charin.model.entity.ChargingGun;
import com.woniuxy.charin.service.ChargingGunService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@RequestMapping("/chargingGun")
@Slf4j
@Api(tags = "充电枪管理")
public class ChargingGunController {
    @Autowired
    private ChargingGunService chargingGunService;

    @GetMapping("/getChargingGunByPage")
    @ApiOperation("分页查询充电枪信息")
    public List<ChargingGun> getChargingGunByPage(int page, int size) {
        log.info("getChargingGunByPage");
        return chargingGunService.getChargingGunList(page, size);
    }

    @DeleteMapping("/deleteChargingGun")
    @ApiOperation("删除充电枪信息")
    public String deleteChargingGun(int id) {
        log.info("deleteChargingGun");
        chargingGunService.deleteChargingGun(id);
        return "删除成功";
    }

    @PostMapping("/addChargingGun")
    @ApiOperation("添加充电枪信息")
    public String addChargingGun(ChargingGun chargingGun) {
        log.info("addChargingGun");
        chargingGunService.addChargingGun(chargingGun);
        return "添加成功";
    }

    @PutMapping("/updateChargingGun")
    @ApiOperation("更新充电枪信息")
    public String updateChargingGun(ChargingGun chargingGun) {
        log.info("updateChargingGun");
        chargingGunService.updateChargingGun(chargingGun);
        return "更新成功";
    }

    //根据充电桩id查询充电枪
    @GetMapping("/getChargingGunByPileId/{pileId}")
    @ApiOperation("根据充电桩id查询充电枪")
    public List<ChargingGun> getChargingGunByPileId(@PathVariable Long pileId) {
        log.info("Fetching charging guns for pileId={}", pileId);
        return chargingGunService.listByChargingPileId(pileId);
    }


}
